/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package modeles.beans;

import java.io.Serializable;
import java.util.List;
import javax.faces.application.FacesMessage;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ViewScoped;
import javax.faces.context.FacesContext;
import modeles.Recette;
import modeles.servicesClient.ServicesRecettes;

/**
 *
 * @author Fred
 */
@ManagedBean(name = "listeRecettes")
@ViewScoped
public class ListeRecettesBean implements Serializable {

    private ServicesRecettes services;
    private List<Recette> recettes;
    private List<Recette> recettesTriees;

    /**
     * Creates a new instance of ListeRayonsBean
     */
    public ListeRecettesBean() {
        this.services = new ServicesRecettes();
    }

    public List<Recette> getRecettes() {
        if (recettes == null) {
            recettes = services.getRecettes();
        }
        return recettes;
    }

    public List<Recette> getRecettesTriees() {
        return recettesTriees;
    }

    public void setRecettesTriees(List<Recette> recettesTriees) {
        this.recettesTriees = recettesTriees;
    }

    public void supprimerRecette(int id) {
        recettes = null;
        Integer i = services.remove(Integer.toString(id));
        if (i != null && i == 512) {
            ajouterMessage("Cette recette ne peut être supprimée pour des raisons d'intégrité de la base de données", FacesMessage.SEVERITY_ERROR);
        }
    }
    
    private void ajouterMessage(String msg, FacesMessage.Severity severity) {
        FacesMessage message = new FacesMessage(msg);
        if (severity != null) {
            message.setSeverity(severity);
        }
        FacesContext.getCurrentInstance().addMessage(null, message);
    }
}
